package com.sp.controller;

import com.sp.service.ProviderFeignService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

/**
 * 创建人：sunpeng
 * 创建时间：2022/11/17 0017
 * 文件名：ConsumerController
 * Copyright (c)2022
 * 项目代号：HMOP-MMP
 * 版权：交信北斗(海南)科技有限公司
 * 注意：本内容仅限于项目组内部传阅，禁止外泄
 * 版本 修改时间 作者
 * V1.0 2022/11/17 0017 sunpeng
 * 描述：
 */
@RestController
@RequestMapping("/consumer")
public class ConsumerController {

    private final static String PROVIDER_URL = "http://provider/";

    @Autowired
    private RestTemplate loadBalanceRestTemplate;

    @Autowired
    private ProviderFeignService providerFeignService;

    /**
     * 通过ribbon进行负载均衡消费生产者，返回生产者的port
     * @return
     */
    @GetMapping("/ribbon/getPort")
    public String getRibbonPort(){
        return loadBalanceRestTemplate.getForObject(PROVIDER_URL + "/ribbon/getPort",String.class);
    }


    /**
     * 通过openFeign的接口注入方式进行消费生产者，返回生产者的port
     * @return
     */
    @GetMapping("/openFeign/getPort")
    public String getOpenFeignPort(){
        return providerFeignService.getOpenFeignLbPort();
    }
}